package com.zzl.bonds.ticket.dto.ticketopen;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import com.zzl.bonds.ticket.dto.KeyValue;
import com.zzl.general.common.utils.DoubleSerialize;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author : spp
 * @date : 2022/2/23 10:58
 */
@Data
@ApidocModel
public class TicketOpenSignPage {

    @ApidocModelProperty(description = "主键 uuid/ 业务流水号")
    private String id;


    @ApidocModelProperty(description = "出单/转单方id")
    private String openEnterpriseId;
    @ApidocModelProperty(description = "出单/转单方企业名称")
    private String openEnterpriseName;

    @JsonSerialize(using = DoubleSerialize.class)
    @ApidocModelProperty(description = "凭证金额")
    private Double ticketAmount;

    @ApidocModelProperty(description = "金融机构Id")
    private Integer instinctyId;
    @ApidocModelProperty(description = "金融机构名称")
    private String instinctyName;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApidocModelProperty(description = "开单日期", validate = "yyyy-MM-dd")
    private Date invoiceTime;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApidocModelProperty(description = "到期日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date expireTime;

    @ApidocModelProperty(description = "票据编号")
    private String ticketNo;
    @ApidocModelProperty(description = "上链地址")
    private String chainAddress;

    @ApidocModelProperty(description = "剩余兑付天数")
    private String surplusCashingDays;


    @JsonIgnore
    private String handStatus;
    @JsonIgnore
    private String handStatusInfo;

    @ApidocModelProperty(description = "操作按钮集合")
    private List<KeyValue> operateButton;

    @JsonIgnore
    private Integer ticketStatus;
}
